The telecommunication environment is in full evolution and has changed considerably this recent years. The principal reason has been the spectacular progress realized in the communication technology due to the maturing of fiber optical transmission (high speed rates can now be sustained with very low bit error rates) and the universal use of digital technologies within private and public telecommunications networks.
In relation with these new emerging technologies, the offer of the telecommunication companies, public or private, are evolving. Indeed, the emergence of high speed transmissions entails an explosion in the high bandwidth connectivity; the increase of the communication capacity generates more attractive tariffs; a higher flexibility is offered to the users to manage their growth through a wide range of connectivity options, an efficient bandwidth management and the support of new media; and once sampled and digitally encoded, voice, video and image derived data can be merged with pure data for a common and transparent transport.
In a first step, networks were primarily deployed with TDM (Time Division Multiplexing) technology to achieve cost savings through line aggregation. These systems easily supported the fixed bandwidth requirements of host/terminal computing and 64 Kbps PCM (Pulse Code Modulation) voice traffic.
The data transmission is now evolving with a specific focus on applications and by integrating a fundamental shift in the customer traffic profile. Driven by the growth of workstations, the local area networks (LAN) interconnection, the distributed processing between workstations and super computers, the new applications and the integration of various and often conflicting structures hierarchical versus peer to peer, wide (WAN) versus local (LAN) area networks, voice versus data--the data profile has become higher in bandwidth, bursting, non deterministic and requires more connectivity. Based on the above, it is clear that there is strong requirement to support distributed computing applications across high speed backbones that may be carrying LAN traffic, voice, video, and traffic among channel attached hosts, business workstations, engineering workstations, terminals, and small to intermediate file servers. This traffic reflects a heterogeneous mix of: end user network protocols, and real time (steady stream traffic such as voice and video) and non real time (bursty nature traffic such as interactive data) transmissions.
The vision of a high-speed protocol-agile backbone network is the driver for the emergence of fast packet switching network architecture in which data, voice, and video information are digitally encoded, chopped into small packets and transmitted through a common set of nodes and links.
The basic advantage of packet switching techniques compared to circuit switching techniques, is to allow a statistical multiplexing of different types of data over a line (data, voice, image, video), which optimizes the bandwidth. The drawback of packet switching techniques compared to circuit switching techniques, is that it typically introduces jitter and delay.
One can reduce the jitter by reducing the packet size. For example, ATM (Asynchronus Transport Mode) standard defines 53 byte packets, called cells, which include a 5 byte header and a 48 byte payload. Due to this small granularity, the jitter across the network is bounded to a small value, and can therefore be compensated at the receiving end by a play-out buffer. This buffer is engineered so as to introduce a delay at least equal to the maximum jitter in the network. The cells are enqueued in this buffer and are served first in-first out after being delayed by the buffer, which insures that any cell that will be delayed by the maximum jitter in the network can be served right in time after the previous cell which is still retained in the play-out buffer when the delayed cell arrives at the receiving end.
As far as the delay issue, packet switching techniques require to receive every byte of a payload before sending the packet. The associated delay is called the packetization delay, or cell payload assembly delay. For example, the time to file an ATM cell with Pulse Coded Modulation (PCM) voice coded at 64 kbps, is 5.875 ms. The total end-to-end cell latency, obtained by adding to this packetization delay the time to transport the cell over the network and to switch it across the different switching nodes on the route, is so large that it requires the use of costly echo cancelers. A method to avoid the use of echo cancelers is to reduce this delay either by partially filling cells or by sending even smaller packets. In both cases, the expense is an increased overhead and therefore a non optimal use of the bandwidth in the network.
For sake of example, the following is a short description of a packet switching system of the type which can be used to implement the invention.
FIG. 1 of the drawings represents a packet switching network including 7 switching nodes SW-1 to SW-7 interconnected by trunk lines TL's, and that can be accessed by access lines AL's connected to outside data terminal equipments DTE's.
The network control architecture is a distributed one, which means that each switching node is controlled by a control point CP. All CP's are interconnected via a control point spanning tree which provides an efficient means for multicasting control messages between the control points. When a CP wants to broadcast a message to other CP's in the network, it sends this message to the switching address of the predefined spanning tree, and the architecture provides the means to route this message on every line of the CP spanning tree, and only on these lines. The architecture also provides the means to initialize the tree address on each switching node, and to automatically re-configure the tree in case of line or switching node failure.
Each CP includes a copy of the Topology data base that contains information about the network. It includes the network physical configuration and the line characteristics and status. For every line n, in the network, the maximum delay T(n) that can be introduced on a packet with a specified priority, and the level of bandwidth reservation R-res(n) of this line are recorded in the Topology Data Base. This information is distributed to other control points via topology update messages sent over the control point spanning tree whenever it presents significant changes.
User equipments DTE-A and DTE-B are respectively connected to the network via access lines AL-A and AL-B. These equipments are to be interconnected thru the network with a given quality of service (QoS) specified in terms of a maximum delay T.sub.-- max and a packet loss probability P.sub.-- loss.
At the switching node SW-1, the control point CP-1 first uses the QoS and the traffic characteristics specified by the user (peak rate, mean rate, average packet length) to compute the amount of bandwidth C.sub.-- eq, called the equivalent capacity of the connection, to be reserved on every line on the route in order to guarantee a packet loss probability P.sub.-- l(n) on this line is much smaller than the loss probability P.sub.-- loss that has been specified for the connection.
Based on the information that is available on a line basis in the Topology Data Base, the control point CP-1 then computes the best route in the network to reach the destination. The Path Selection program first identifies the lines that are eligible for the route. If R(n) and R.sub.-- res(n) respectively denote the capacity of line n and its current level of reservation, then the line is eligible if: EQU R.sub.-- res(n)+C.sub.-- eq.ltoreq.0.85 R(n)
it then uses a modified Bellman-Ford algorithm to find the minimum weight, minimum hop count, route from the origin to the destination which uses eligible lines and which satisfies the QoS. EQU T.sub.-- max .SIGMA.T(n) EQU P.sub.-- loss.ltoreq.1-.PI.(1-P.sub.-- l(n))
where the summation and product operators are carried over the N lines of the route (n=1, . . . , N).
Let's assume that the chosen route from switches SW-1 to SW-3 uses trunk lines TL-1 and TL-2 via switch SW-2.
FIG. 2 shows the message flows between the CP's on the route when a new connection is established. The origin control point CP-1 sends a connection set-up message along the route, a copy of which is delivered to the control point of every switch on the route. This message contains a list of the network addresses of the control points on the route, the list of the line names between these control points, the request bandwidth C.sub.-- eq, the priority of the connection, and a connection correlator C.sub.-- cor which is set by the origin CP-1, and which is used by all other CP's to uniquely identify the connection.
Upon reception of the copy of the set-up message, each CP performs two basic tasks.
First, the CP checks whether the equivalent capacity of the new connection is still available on the line to the next switching node on the route, and if it is available, it reserves it. Therefore, the CP checks whether the line is eligible by verifying the first above relation. If it is, the CP reserves the desired amount of bandwidth on the transmit line for the new connection, accepts the connection set-up, increments the reservation level: EQU R.sub.-- res(n)=R.sub.-- res(n)+C.sub.-- eq
and if this reservation level has significantly changed, it eventually broadcasts a topology update message on the CP spanning tree to inform the other CP's of the new reservation level R.sub.-- res of this particular line.
Second, the CP allocates a new label for the new connection, and sends back this label to the control point of the previous switch on the route, for label swapping purpose. Bandwidth reservations and label allocations are acknowledged from all the CPs on the route, that is CP-2 and CP-3 (see FIG. 2). At the input switch adapter, the data packets that are received from the user equipment DTE-A are appended with a network header which contains the label L2, and with a switch routing header that will be used locally by switch SW-1 to route the packet to the desired transmit adapter for transmission over the line TL-1. At the next switch SW-2, the label L2 of each packet is used to look-up a table which returns the label L3 and a switch routing header. The packet label L2 is swapped for the new label L3, and the packet is forwarded to the appropriate transmit adapter according to the switch routing header for transmission on line TL-2.
At a transmit adapter, the packet is enqueued in one of three possible queues, according to its priority. Three possible traffic priorities are defined, real-time RT, non-real-time (NRT), and non-reserved (NR, or best effort). Typically, the highest priority class RT is used to transport voice or video, the second class NRT is used to transport interactive data, and the third class NR is used for file transfer. Upon request, a scheduler serves the real-time queue with the highest priority and the non-reserved queue with the lowest priority. That means that at every request for a new packet, the scheduler first looks at the real-time queue and serves a real-time packet. If this queue is empty, then the scheduler looks at the non-real-time queue and eventually serves a non-real-time packet. The non-reserved queue is served only when both real-time and non-real-time queues are empty.
The routing operation is repeated until the packet reaches the transmit port adapter of switching node SW-3 where the network header is discarded and the packet is sent to the user equipment DTE-B.
The above network architecture allows to transport packets across the network while ensuring a pre-specified quality of service. However, if the packets carry voice signals, the smallest delay which can be achieved by the network will be specified and automatically met by the choice of the proper route. But the packetization delay of the digitized voice yet may be such that the voice connection still requires costly echo cancelers. Reducing the packetization size would of course reduce the packetization delay, but would also increase the relative packet overhead and therefore waste bandwidth on the network lines.